# TODO if语句的使用
# 基本语法如下：
# if 条件:
#     # 如果条件为真，执行这里的代码
x = 5
if x > 0:
    print("x is positive")  # x is positive

# 这里的 "条件" 是一个表达式，其结果应为布尔值 True 或 False。如果条件为真，那么 if 语句下面缩进的代码块将被执行。如果条件为假，那么 if 语句下面缩进的代码块将被跳过。

# 在使用 if 语句时，以下是一些需要注意的地方：
# Python 使用缩进来判断 if、elif 和 else 语句的范围。在每个条件后面的冒号（:）之后，下一行开始的缩进代码块就是当该条件为真时要执行的代码。
# 在 if 语句中，你可以使用任何返回布尔值的表达式作为条件。这包括比较运算（如 >、<、==、!=、>=、<=）和逻辑运算（如 and、or、not）。
# if、elif 和 else 的条件是从上到下顺序检查的。只要找到一个条件为真，就执行相应的代码块，然后跳过剩下的条件。如果没有条件为真，就执行 else 下面的代码块（如果有的话）。

x = -5
if x > 0:
    print("x is positive")
else:
    print("x is not positive")  # x is not positive

# 如果你有多个条件需要检查，你可以使用 elif（相当于 "else if"）：
x = 0
if x > 0:
    print("x is positive")
elif x < 0:
    print("x is negative")
else:
    print("x is zero")  # x is zero


# 需要注意的是，在Python中，代码块的缩进非常重要。如果缩进不正确，Python解释器将无法正确解析代码，并可能会引发错误。因此，在编写Python代码时，一定要注意代码块的缩进。如果使用的是集成开发环境（IDE），通常会自动进行缩进。
# 如果使用文本编辑器，需要手动输入缩进。

# 在 Python 中，pass 是一个占位语句，它在语法上需要有语句的地方起到占位的作用，但是不执行任何实际的操作。pass 语句在 Python 中没有任何意义，它只是一个空操作语句。
def my_function():  # 还没想好要怎么实现，暂时用 pass 占位
    pass


class MyClass:  # 还没想好要怎么实现，暂时用 pass 占位
    pass


x = 5
if x > 0:
    print('x is positive')
elif x < 0:
    print('x is negative')
else:
    pass  # x 是 0，我不想做任何事情
# 在这些情况下，如果你不写 pass，Python 解释器会因为语法错误而报错。但是由于 pass 本身并不执行任何操作，所以它不会对你的程序的运行产生任何影响。

# TODO 使用 input 函数实现从控制台输入练习if语句
# 在 Python 中，input() 是一个内置函数，可以用于从用户处获取输入。当你调用 input() 函数时，Python 将暂停程序的执行，并等待用户输入。
# 用户输入一行文本后，按下回车键，Python 将读取该行文本，并将其作为字符串返回给你。以下是一个简单的示例代码，演示了如何使用 input() 函数：
name = input("请输入用户名称\n")
print(f"您输入的用户名称为: {name}")

# 拿到当前输入的整数类型
age_str = input("Please enter your age: ")
# 需要注意的是，当用户输入一个非数字字符串时，将引发 ValueError 异常。因此，建议在使用 int() 函数进行类型转换之前，先检查输入的字符串是否为数字字符串。
# 你可以使用 isdigit() 方法来检查一个字符串是否只包含数字字符。以下是一个示例代码，演示了如何检查输入的字符串是否为数字字符串：
if age_str.isdigit():
    age = int(age_str)
    print("You are " + str(age) + " years old.")
else:
    print("Invalid input. Please enter a valid age.")

# TODO 练习：判断学生成绩
# 以下是一个Python练习题的要求，旨在帮助你练习从控制台获取用户输入并使用条件语句进行判断：
# 要求：
#  编写一个Python程序，要求用户输入一个分数，并将其存储在变量score中。
#  检查输入的分数是否为数字，并且是否在有效的范围内（0到100之间）。如果输入的分数无效，输出一条错误消息，提示用户重新输入。
#  如果输入的分数有效，则使用条件语句对其进行评估，输出该分数对应的等级：
# 	分数在90分以上，对应的等级为A；
# 	分数在80分以上90分以下，对应的等级为B；
# 	分数在70分以上80分以下，对应的等级为C；
# 	分数在60分以上70分以下，对应的等级为D；
# 	分数低于60分，对应的等级为F。
score = input("请输入学生成绩:\n")
# 执行判断语句给出等级

if score.isdigit():
    if score < 60:
        print('F')
    elif score >= 60 & score < 70:
        print('D')
    elif score >= 70 & score < 80:
        print('C')
    elif score >= 68 & score < 90:
        print('B')
    elif score >= 90:
        print('A')
else:
    print('您输入的成绩类型有误,请重新输入')
